前面講到了物件的屬性讀取,那如果物件的某個屬性並非值而是一個函式呢?
這也是可行的,我們並非要賦予屬性一個值,也可以給予一個函式用來計算
假設 Jerry 的農場內有5隻小鴨,10隻小雞,柴犬和柯基兩隻狗,三塊玉米田分別有5根玉米、6根玉米、7根玉米
綜合以上來創建一個物件:
var farm = {
duck: 5,
chicken: 10,
dogs: ['柴犬','柯基'],
cornField: [5,6,7]
}
此時若要新增一個屬性用來計算總共有多少隻家禽,可以如下:
var farm = {
duck: 5,
chicken: 10,
dogs: ['柴犬','柯基'],
cornField: [5,6,7],
poultry: function(){
var total = this.duck + this.chicken;
console.log(total);
},
}
我們新增了一個 poultry 屬性,並給予一個計算小鴨跟小雞數量的函式(這裡函式可以不用命名),後面對於 this 會再說明,this 的使用法方可以說是博大精深,這裡可以暫且當作 farm 這個物件,當然除了上述的第一個方法,我們也可以中途加入 poultry 這個屬性,如下:
farm.poultry = function (){
var total = this.duck + this.chicken;
console.log(total);
}
而當我們在呼叫屬性且有函式時,會比較不一樣:
farm.poultry();
有屬性若為函式,需要跟前面講到函式時一樣,跟函式的呼叫一樣需要加括號
睽違好久,終於更新了